package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.AppUser;

import java.util.List;

/**
 * 用户 业务层
 *
 * @author ruoyi
 */
public interface IAppUserService extends IService<AppUser> {

    public List<AppUser> selectAllAppUserList();

    public List<AppUser> selectAllAppUserListByMobile(AppUser appUser);
    /**
     * 通过用户账号查询用户
     *
     * @param userName 用户账号
     * @return 用户对象信息
     */
    AppUser selectAppUserByUserName(String userName);

    AppUser selectAppUserByOpenId(String openId);

    AppUser selectAppUserByMobile(String mobile);

    AppUser selectAppUserById(Long userId);

    public int insertAppUser(AppUser appUser);

    /**
     * 修改用户信息
     *
     * @param appUser 用户信息
     * @return 结果
     */
    int updateAppUser(AppUser appUser);

    /**
     * 密码校验
     *
     * @param password 明文
     * @param salt     盐
     * @param hashPwd  密文
     * @return boolean
     */
    boolean checkPassword(String password, String salt, String hashPwd);

    public List<AppUser> getAppUserList(AppUser appUser);

    public List<AppUser> getAppUserListByIds(String ids);

    public int deleteAppUserByIds(Long[] userIds);
    /**
     * 导入用户数据
     *
     * @param userList 用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importAppUser(List<AppUser> userList, Boolean isUpdateSupport, String operName);
}
